package edu.upol.paradise.compiler.types;

import org.apache.log4j.Logger;

import edu.upol.paradise.runtime.FunctionArgumentsHeader;
import edu.upol.paradise.runtime.ParadiseRuntime;

public abstract class ParadiseFunctor implements ParadiseObject {
	static final Logger log = Logger.getLogger(ParadiseFunctor.class);

	public boolean isTrue() {
		return true;
	}

	public boolean isAtom() {
		return true;
	}
	
	public abstract ParadiseObject run(ParadiseRuntime runtime, VariablePassingWrapper arguments) throws Exception;

	public abstract FunctionArgumentsHeader getHeader();
}
